// 引入二次封装axios
import request from "@/utils/request";
import type {
    HospitalWorkResponseData,
    WxLoginResponseData,
    HospitalDetail,
    DepartmentResponseData,
    LoginData,
    UserLoginResponseData,
    HospitalDoctorRes,
    UserResponseData,
    DoctorInfoData
} from './type'
// 枚举请求地址
enum API {
    HOSPITALDETAIL_URL='/hosp/hospital/',
    // 获取某一个医院的科室的数据
    HOSPITALDEPARTMENT_URL='/hosp/hospital/department/',
    // 获取验证码接口
    GETUSERCODE_URL='/sms/send/', 
    // 用户登录接口
    USERLOGIN_URL='/user/login',
    // 获取微信扫码登录需要参数
    WXLOGIN_URL='/user/weixin/getLoginParam/',
    // 获取某一个医院的某一科室预约挂号数据
    HOSPITALWORK_URL='/hosp/hospital/auth/getBookingScheduleRule/',
    // 获取某一个医院的某一科室医生的排班
    HOSPITALDOCTOR_URL='/hosp/hospital/auth/findScheduleList/',
    // 获取某一个账号下的就诊人信息
    GETUSER_URL='/user/patient/auth/findAll',
    //获取挂号医生的信息
    GETDOCTOR_URL='/hosp/hospital/getSchedule/',
}
// 获取医院的详情的接口
export const reqHospitalDetail=(hoscode:string)=>request.get<any,HospitalDetail>(API.HOSPITALDETAIL_URL+hoscode)
// 获取医院的科室的接口
export const reqHospitalDepartment=(hoscode:string)=>request.get<any,DepartmentResponseData>(API.HOSPITALDEPARTMENT_URL+hoscode)
// 获取验证码接口
export const reqGetUserCode=(phone:string)=>request.get<any,any>(API.GETUSERCODE_URL+phone)
// 用户登录接口
export const reqUserLogin = (data:LoginData)=>request.post<any,UserLoginResponseData>(API.USERLOGIN_URL,data)

// 获取微信扫码登录生成二维码需要的参数接口
export const reqWxLogin = (wxRedirectUri:string)=>request.get<any,WxLoginResponseData>(API.WXLOGIN_URL+`?wxRedirectUri=${wxRedirectUri}`)
// 获取预约挂号的数据
export const reqHospitalWork = (page:number,limit:number,hoscode:string,depcode:string)=>request.get<any,HospitalWorkResponseData>(API.HOSPITALWORK_URL+`${page}/${limit}/${hoscode}/${depcode}`);
// 获取预约挂号医生的数据
export const reqHospitalDoctor= (hoscode:string,depcode:string,workDate:string)=>request.get<any,HospitalDoctorRes>(API.HOSPITALDOCTOR_URL+`${hoscode}/${depcode}/${workDate}`)

// 获取某一个账号下的就诊人信息
export const reqGetUser = ()=>request.get<any,UserResponseData>(API.GETUSER_URL);

//获取挂号医生的信息
export const reqDoctorInfo = (scheduleId:string)=>request.get<any,DoctorInfoData>(API.GETDOCTOR_URL+scheduleId);
